home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 22
/
Cream of the Crop 22.iso
/
os2
/
popsrv1i.zip
/
SENDMAIL.CF
< prev
Wrap
Text File
|
1996-08-04
|
32KB
|
715 lines
########################################################################
# #
# #
# Sendmail #
# Copyright (c) 1983 Eric P. Allman #
# Berkeley, California #
# #
# Copyright (c) 1983 Regents of the University of California. #
# All rights reserved. The Berkeley software License Agreement #
# specifies the terms and conditions for redistribution. #
# #
# This configuration file was modified specifically for IBM's #
# SENDMAIL product for the IBM OS/2 Operating System. Please avoid #
# making changes to this file, as it will change the operation of #
# SENDMAIL. #
# #
# Modified by: Ed Overly & Daniel Barton @ IBM #
# Yorktown, NY Research Triangle Park, NC #
########################################################################
########################################################################
# #
# Host name definition (YOU MUST DEFINE THESE) #
# #
# Define macro for your host name for all return addresses. #
# Define class to recognize all aliases of your host name. #
# #
# The domain will be added to this name!!! -mjz #
# #
#DwYourHostName #
#CwYourHostName YourHostAliases #
########################################################################
# My host name
Dwhabcnx
Cwhabcnx mail
########################################################################
# SubDomains #
# #
# Receive mail for All users in this subdomains #
# in 'subdomain' mailbox #
# #
########################################################################
Cxchanae mn2 prof etud
########################################################################
# #
# Local domain name. (DEFINE THIS IF DOMAINS ARE USED) #
# **WARNING** #
# When domain names are used, SMTP transactions utilize the #
# full domain (official) name of the host. All host names with #
# no domains (abbreviated) are expanded with the local domain #
# by the mail service. This is consistent with Internet text standards.#
# All hosts sending or RECEIVING mail must recognize their official #
# host names. When using domains enter the official host name in #
# /etc/hosts and be certain that all network nameservers recognize #
# official host names. #
# #
# Define the D macro to be the whole domain for the local host. #
# This configuration file supports four part domains. It can be #
# expanded to support n part domains. #
# #
#DDgrandchild.child.parent.top #
########################################################################
# My domain name
DDstben.be
########################################################################
# #
# Relay host definition (You may optionally define this) #
# #
# If the Relay host is defined, then all outbound mail is delivered #
# to this Relay host. #
# #
#DRyourRelayHost (Fully qualified) #
########################################################################
#DRtornix.tornado.be
########################################################################
# #
# Host name for UUCP handling (YOU MAY OPTIONALLY DEFINE THIS) #
# #
# Optionally define macro specifying name of host to which you want #
# to relay all UUCP traffic. This would be a host on the network #
# with modems. You do not have to define this to use UUCP. #
# #
# Defining this macro eliminates the requirement for you to explicitly #
# reference the relaying host in your UUCP route addresses. For #
# instance, if the host with modems is called "cat", you normally #
# would have to specify a UUCP address as "cat!route_path". If you #
# define macro "DUcat", then you only need specify "route_path". #
# #
#DUHostWithModems #
# #
########################################################################
# my official host name (includes host name and domain name)
Dj$w$?D.$D$.
#####################################################
# Version Number (YOU MAY CHANGE THIS AS NEEDED)#
#####################################################
DZ1.0
######################
# Special macros #
######################
# my name
DnMAILER-DAEMON
# UNIX header format
DlFrom $g $d
# delimiter (operator) characters
Do.:%@!^=/[]
# format of a total name
Dq$g$?x ($x)$.
# SMTP login message
De$j Sendmail $v/$Z ready at $b
###############
# Options #
###############
# location of alias file
OAf:\tcpip\etc\aliases
# substitution for space (blank) characters
OB.
# (don't) connect to "expensive" mailers
#Oc
# default delivery mode
Odbackground
# location of help file
OHf:\tcpip\etc\sendmail.hf
# Queue directory - specify directory containing log file
OQe:\mqueue
# default messages to old style
Oo
# status file
OSf:\tcpip\etc\sendmail.st
# queue up everything before starting transmission
Os
# return queued mail after this long
OT1d
# load average at which we refuse connections
#OX
# work recipient factor
#Oy
# work msg class factor
#Oz
# work time factor
#OZ
###########################
# Message precedences #
###########################
Pfirst-class=0
Pspecial-delivery=100
Pbulk=-60
Pjunk=-100
#####################
# Trusted users #
#####################
# This parameter is not used by OS/2 Sendmail.
Tdaemon
#########################
# Format of headers #
#########################
H?P?Return-Path: <$g>
HReceived: $?sfrom $s $.by $j ($v/$Z)
id $i; $b
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $q
H?F?From: $q
H?x?Full-Name: $x
HSubject:
# HPosted-Date: $a
# H?l?Received-Date: $b
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: <$t.$i@$j>
########################################################################
# #
# REWRITING RULES #
# #
########################################################################
########################################################################
# #
# The Complete Specification of Canonical Syntax is: #
# #
# <ahost> ::= /* ARPA type host name */ #
# <uhost> ::= /* UUCP type host name */ #
# <user> ::= /* target user name */ #
# #
# <route_node> ::= @<ahost>: | <uhost>! #
# <route_path> ::= <NULL> | <route_node> | <route_path><route_node> #
# <target> ::= <user> | <user>@<ahost> #
# #
# <address> ::= <route_path><target> #
# #
# This is what we handle, but actually we only look at the minimum #
# required to pass the mail on. Intermediaries with other syntax/ #
# semantics may be used, provided the addressing is compatible with #
# them when the mail arrives there. #
# #
########################################################################
########################################################################
# #
# THE DYNAMIC MACROS $f AND $g #
# #
# Macro $f is defined by the sender address as known the current #
# host, via the ruleset sequence: 3, 1, 4. #
# #
# Macro $g is defined at delivery time for each separate mailer via #
# the ruleset sequence: 3, 1, mailer-S, 4. #
# #
# The SMTP "MAIL FROM" address will be $g. #
# #
# $g is included in many headers and will be expanded if the header #
# is newly created by sendmail. #
# #
########################################################################
########################################################################
# #
# THE SMTP INTERFACE #
# #
# The SMTP "MAIL FROM" address will be $g. #
# #
# The SMTP "RCPT TO" addresses will be computed from the recipient #
# addresses in sendmail by applying the same ruleset sequence as for #
# "to" headers: namely, rulesets 3, 2, mailer-R, 4 #
# #
########################################################################
########################################################################
# #
# S1: Sender Field Pre-rewriting #
# #
# This ruleset is used when defining the $f macro. In this case it #
# is applied after S3 and before S4. #
# #
# This ruleset is applied to all sender type headers after S3 and #
# before the mailer specific sender (S) rewrite rules. #
# This ruleset is also applied to $f to create $g. #
# #
########################################################################
S1
########################################################################
# #
# S2: Recipient Field Pre-rewriting #
# #
# This ruleset is applied to the user part of the 3-tuple output from #
# S0. It is followed by application of the mailer specific recipient #
# [R] rewrite rules. #
# #
# This ruleset is applied to all recipient type headers after S3 and #
# before the mailer specific recipient (R) rewrite rules. #
# This ruleset is likewise used to reform the "to" address for SMTP. #
# #
########################################################################
S2
########################################################################
# #
# S4: Final Output Post-rewriting (Return to standard form) #
# #
# This ruleset is applied to the user part of the 3-tuple produced #
# from ruleset 0. It is applied after the mailer specific recipient #
# [R] rules. #
# #
# This ruleset is applied after S1 when defining the $f macro. #
# This ruleset is applied last when creating the $g macro from $f. #
# #
# This ruleset is applied to all headers after the mailer specific #
# rewrite rules (whether recipient or sender) have been applied. #
# This ruleset is applied last when computing the RCPT TO address for #
# SMTP. #
# #
########################################################################
S4
#
# Change LOCAL or LOCAL.D to the real name.
#
R$*<@LOCAL>$* $:$1<@$w>$2
R$*<@LOCAL.D>$* $:$1<@$w$?D.$D$.>$2
R$*<@$-.LOCAL>$* $:$1<@$2$?D.$D$.>$3
R$*<LOCAL>$* $:$1<$w>$2
R$*<LOCAL.D>$* $:$1<$w$?D.$D$.>$2
R$*<$-.LOCAL>$* $:$1<$2$?D.$D$.>$3
#
# Remove focus brackets.
#
R$*<$+>$* $1$2$3
########################################################################
# #
# S3: Address Canonicalization (Internal rewriting form) #
# #
# This ruleset turns an address in external format into a format #
# which simplifies internal rewriting. The inverse ruleset is S4. #
# This ruleset is applied first to any external address before other #
# rewriting is done. #
# #
# This concept of canonicalization is to be distinguished from usage #
# of the nameserver in the $[/$] construct inside the RHS of rewrite #
# rules. This is also sometimes called "canonicalization", but has #
# to do not with the syntax of the address but with obtaining the #
# correct domain name for the address. #
# #
# No stripping of local domains is done for route addresses: #
# Rulesets which require this must do it themselves by iteratively #
# stripping LOCAL or LOCAL.D and recalling this ruleset to #
# canonicalize the next host.item. #
# #
# The term "localization" refers to determining whether the next host #
# item is really a reference to the current host. Localization #
# assumes that local UUCP host names are in class w. This is not #
# strictly a necessary restriction, but it simplifies the network #
# concept and also makes for simpler rewrite rules. This ruleset #
# replaces explicit instances of local host with the internally #
# recognized tag "LOCAL" or "LOCAL.D". #
# #
# Addresses which do not specify a host name for routing or domain #
# will NOT have any reference to the local host appended in any way. #
# #
########################################################################
S3
#
# Basic textual canonicalization -- note RFC733 heuristic here.
# This strips off everything but the innermost list between <>'s.
# Some addresses are of the format: Full Name <address>
#
R$*<$*<$*<$+>$*>$*>$* $4 3-level <> nesting
R$*<$*<$+>$*>$* $3 2-level <> nesting
R$*<$+>$* $2 basic RFC821/822 parsing
#
# Turn an "at" token into "@".
#
# The I macro specifies space or some equivalent char defined by the OI
# config option above.
#
#R$+ at $+ $:$1@$2 "at" -> "@" for RFC 822
# Change a%b to a@b. This implies that we support a%b%c... as a route
# based address from right to left.
# This form of addressing should go away as full domains are supported.
#
R$+%$- $1@$2
# ====> NOTE <====
# This configuration file always evaluates mix mode addresses from
# left to right. No precedence between @ and ! is assumed. The
# address a!b@c will resolve to the uucp mailer for the remote host
# 'a'. This permits the resolution of very complex route based
# addresses such as; @a:@b:c!d!user, a!@b:c!user, a!@b.uucp:user@c.
# Return addresses on mail to/from AIX level 4 machines are also
# correct. If you wish the address a!b@c to resolve to the TCP
# mailer for the remote host 'c' then uncomment the following rewrite
# rule. This approach is compatible with older versions of sendmail.
# Change a!b@c to @c:a!b
R$-!$-@$+ @$3:$1!$2
#
# Change commas to colons for route addresses.
#
R$+,$+ $1:$2
#
# Pick out route addresses. Focus and call localizer.
#
R@$+:$+ $@$>9<@$1>:$2 handle <route-addr>
R$-!$+ $@$>8<$1>!$2 UUCP route
# Detect domain!user. Internally convert to user@domain (RFC976).
# Rule set 8 will detect local addresses and strip any trailing
# periods.
R$-.$*!$+ $@$>8<$1.$2>!$3
#
# Detect local domain for nonroute addresses. Focus and localize.
#
R$+@$+ $:$1<@$2>
#R$+<@$=w.$D> $@$1<@LOCAL.D>
#R$+<@$=w> $@$1<@LOCAL>
R$+<@$=w.UUCP> $@$1<@LOCAL>
#
# Anything else is left as-is! This includes simple names.
# They will NOT have an appended domain.
# This is so the $f macro definition will be the sender address
# as known locally.
#
########################################################################
# #
# S9: Localize ARPA type route path. #
# #
# This is used only by S3. #
# #
########################################################################
S9
R<@$=w.$D>:$* $@<@LOCAL>:$2
R<@$=w>:$* $@<@LOCAL>:$2
R<@$D>:$* $@<@LOCAL>:$2
R<@$=w.UUCP>:$* $@<@LOCAL>:$2
########################################################################
# #
# S8: Localize UUCP route path. This is used only by S3. #
# #
########################################################################
#S8
#R<$=w.$D>!$+ $@<LOCAL.D>!$2
#R<$=w>!$+ $@<LOCAL>!$2
# We have a non-local domain. Change to user@domain for resolution.
#R<$-.$+>!$+ $@<@$1.$2>:$3
#R<$+.>!$+ $@<@$1>:$2
########################################################################
# #
# MAILERS #
# #
########################################################################
########################################################################
# #
# Local and Program Mailer specification #
# #
########################################################################
Mlocal, P=f:\tcpip\bin\mail.exe, F=lnsDFMP, S=10, R=20, A=e:\mail $u $f
Mprog, P=/bin/sh, F=lsDFM, S=10, R=20, A=sh -c $u
########################################################################
# #
# S10: Local/Prog Mailers Sender rules #
# #
########################################################################
S10
########################################################################
# #
# S20: Local/Prog Mailers Recipient rules #
# #
########################################################################
S20
########################################################################
# #
# UUCP Mailer Specification #
# #
########################################################################
#Muucp, P=/usr/bin/uux, F=DFMhuU, S=13, R=23, M=100000,
# A=uux - -r -n -a$f -gC $h!rmail ($u)
########################################################################
# #
# TCP Mailer Specification #
# #
########################################################################
Mtcp, P=[IPC], F=mDFMueXL, S=14, R=24, A=IPC $h
########################################################################
# #
# S14: TCP Mailer Sender Rules #
# #
# This ruleset is applied in the following circumstances: #
# #
# 1) To process sender type headers. These have header names: #
# #
# "resent-sender" #
# "resent-from" #
# "resent-reply-to" #
# "sender" #
# "from" #
# "reply-to" #
# "return-receipt-to" #
# "errors-to" #
# #
# 2) To define the $g macro from the $f macro. #
# #
# In either case, it is applied after ruleset 1, and is followed by #
# ruleset 4. #
# #
# Watch out if one of those headers is newly created and includes the #
# expanded $g macro! This ruleset will have been used to create $g, #
# and will then be applied to the result of the expansion of $g. #
# This ruleset must handle this! #
# #
# The $g macro is used in many places. #
# #
########################################################################
S14
#
# We have just canonicalized a From: address or the $f macro. Remove
# any instances of local host from route addresses. This also works
# to take care of the instance of a newly expanded $g in a new
# From: line.
#
R<$*LOCAL$*>$-$+ $>3$4
#
# Prepend our domain to route based paths that come through.
#
R<$+>$+ $@<@LOCAL.D>:$1$2
#
# Fully qualify our domain.
#
R$+<@LOCAL> $@$1<@LOCAL.D>
#
# Fully qualify other hosts in our local domain.
#
R$+<@$-> $@$1<@$2.LOCAL>
#
# Leave all other typical domain addresses alone.
#
R$+<$+> $@$1<$2>
#
# Append full local domain where none exists at all.
#
R$+ $@$1<@LOCAL.D>
########################################################################
# #
# S24: TCP Mailer Recipient rules #
# #
# This ruleset is applied in the following cases: #
# #
# 1) To process recipient type headers being sent out through this #
# mailer. These headers are the ones with header names: #
# #
# "to" #
# "resent-to" #
# "cc" #
# "resent-cc" #
# "bcc" #
# "resent-bcc" #
# #
# but NOT: #
# #
# "Apparently-to" #
# #
# 2) To process the user part of the 3-tuple from S0 which resolves #
# to this mailer. This is the complete "to" address for ordinary #
# tcp usage, or is the original UUCP path if we are relaying #
# using DU. #
# #
# 3) To process the "to" address to form the SMTP RCPT TO address. #
# #
# In all cases, this ruleset is applied after ruleset 2, and is #
# followed by ruleset 4. #
# #
# Remember that this ruleset applies to all "to" type headers in the #
# mail transmitted via this mailer. This does not include #
# "Apparently-to:" headers. Not all "To:" headers point to the #
# current mail target! For instance, if the mail originated on this #
# host and some targets were local, there may be local "To:" headers #
# that must be processed by this ruleset! The idea here is to make #
# sure that the headers will be properly understood in the context of #
# the next host to which the mail will go. #
# #
########################################################################
S24
#
# Leave route based addresses alone. They are already completely intelligible
# in any context.
#
R<$+>$+ $@<$1>$2
#
# Fully qualify our host name with full domain.
#
R$+<@LOCAL> $@$1<@LOCAL.D>
#
# Fully qualify nonlocal host names in our local domain.
#
R$+<@$-> $@$1<@$2.LOCAL>
#
# Leave all other typical domain addresses alone.
#
R$+<$+> $@$1<$2>
#
# Append full local domain where none exists at all. This handles the
# case of local targets whose (missing) host would cause misunderstanding
# in the next host.
#
R$+ $@$1<@LOCAL.D>
########################################################################
# #
# Rule Zero #
# #
# Resolve sender or recipient address to mailer/host/user 3-tuple. #
# This may require iteration in use of S3 to strip leading route #
# items which pertain to the current host. #
# #
# Sendmail will pass the user portion of the 3-tuple through ruleset #
# 2 + the mailer specific recipient ruleset + ruleset 4. #
# #
########################################################################
S0
#
# Handle route addresses that begin with LOCAL or LOCAL.D
#
R<$*LOCAL$*>$-$+ $>3$4
# Change a%b<$*> to <$*>:a@b.
# This form of addressing should go away as full domains are supported.
#
R$+%$-<$*> <$3>:$1@$2
#
# Handle explicit local delivery.
#
# The entire prefix is treated as local user.
R$+<@LOCAL$*> $#local$:$1
R$+<@$D> $#local$:$1
R$+<@$=w.$D> $#local$:$1
R$+<@$=w> $#local$:$1
R$+<@$*$=x.$D> $#local$:$3
#
# Resolve UUCP to local uucp mailer or remote one via tcp.
# For tcp relay, user is full uucp route. For uucp mailer, user is
# the uucp route as seen from the next host.
# UUCP host names are not passed through the nameserver canonicalizer.
#
#R$+<@$-.UUCP> $?U$#tcp$@$U$:$1<@$2.UUCP>$|$#uucp$@$2$:<$1>$.
#R<@$-.UUCP>:$+ $?U$#tcp$@$U$:<@$1.UUCP>:$2$|$#uucp$@$1$:<$2>$.
#R<$->!$+ $?U$#tcp$@$U$:<$1>!$2$|$#uucp$@$1$:<$2>$.
#
# Canonicalize anything else which has an @focus. This excludes simple
# names, which are local.
#
R$*<@$+>$* $:$1<@$[$2$]>$3
#
# Send domain address to tcp. This includes domain literals [IP quads].
# User is full focused path.
#
R$*<@$+>$* $#tcp$@$?R$R$|$2$.$:$1<@$2>$3
#
# Remaining names must be local.
# User is whatever is left.
#
R$+ $#local$:$1